package com.ctvit.cch.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ctvit.cch.core.pojo.domain.SocialPlatform;
import com.ctvit.cch.core.pojo.dto.hot.SocialPlatformAddDTO;
import com.ctvit.cch.core.pojo.dto.hot.SocialPlatformEditDTO;
import com.ctvit.cch.core.pojo.dto.hot.SocialPlatformListDTO;
import com.ctvit.cch.core.pojo.dto.hot.SocialPlatformStatusDTO;
import com.ctvit.cch.core.pojo.vo.hot.SocialPlatformGetVO;
import com.ctvit.cch.core.pojo.vo.hot.SocialPlatformSelectVO;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * 社交平台Service接口
 *
 * @author heyingcheng
 * @date 2025/07/23
 */
public interface ISocialPlatformService extends IService<SocialPlatform> {

    /**
     * 查询社交平台列表
     *
     * @param dto 列表参数
     * @return {@link TableDataInfo } 社交平台列表数据
     */
    TableDataInfo list(SocialPlatformListDTO dto);

    /**
     * 新增社交平台
     *
     * @param dto 新增参数
     * @return 是否成功
     */
    boolean add(SocialPlatformAddDTO dto);

    /**
     * 修改社交平台
     *
     * @param dto 修改参数
     * @return 是否成功
     */
    boolean edit(SocialPlatformEditDTO dto);

    /**
     * 获取社交平台详细信息
     *
     * @param id ID
     * @return 社交平台详细信息
     */
    SocialPlatformGetVO get(String id);

    /**
     * 获取社交平台下拉框列表
     *
     * @return {@link List }<{@link SocialPlatformSelectVO }> 数据列表
     */
    List<SocialPlatformSelectVO> select();

    /**
     * 修改社交平台状态
     *
     * @param dto 修改参数
     * @return boolean 是否成功
     */
    boolean status(SocialPlatformStatusDTO dto);

}
